14.1.3 Scattering Events
punctual light sources로 부터 in-scattering 적분은 다음과 같이 행해질 수 있다.

- n: lights의 수
- p(): phase function
- v(): visibility function
- lci: ith light를 향하는 방향 벡터
- plighti: ith light의 위치
- clighti(): ith light로 부터 나오는 radiance. 거리함수에 따라 결정되며 이는 Section 9.4의 정의와 Section 5.2.2의 inverse square falloff function을 기반으로 한다.
visibility function v(x, plighti)는 plighti 광원으로부터 x까지 닿는 빛의 비율을 나타낸다.

여기서 volShad(x, plighti) = Tr(x, plighti)이다. 실시간 렌더링에서 그림자는 두가지 occlusion으로 부터 발생한다: opaque and volumetric. opaque 물체로 부터 그림자(shadowMap)는 전통적으로 shadow map을 사용하거나 다른 테크닉을 사용한다.(Chapter 7)
식 14.5의 volumetric shadow(volShadow(x, plighti))는 plighti 위치에 있는 빛으로 부터 샘플 포인트 x 까지 투과도를 나타내며, 범위는 [0, 1]이다. volume으로 부터 만들어지는 occlusion은 volumetric rendering에서 중요한 요소인데, volume 요소가 self-shadow를 만들거나 다른 씬 요소에 shadow를 드리울수 있기 때문이다. Figure 14.5를 참고 하자. 이러한 결과는 눈에서 볼륨을 통과하여 첫번째 표면 까지의 primary ray를 따라 ray marching을 수행하고, 그리고 이러한 샘플로부터 광원으로 향하는 각각의 secondary ray를 따라 ray marching을 수행함으로써 만들어 진다.
ray marching은 두 지점 사이를 n번 샘플링 하여 scattered light와 transmittance를 적분하는 것을 말한다. 샘플링에 대한 자세한 내용은 heightfield 렌더링에 사용된 Section 6.8.1을 참고. ray marching은 각각의 ray가 경로를 따라 각각의 point의 volume material 또는 lighting을 순서대로 처리하고 샘플링 한다는 점에서 유사하다. Figure 14.3을 보면 primary ray위에 녹색 샘플 포인트와 파란색 secondary shadow rays를 볼 수 있다. ray marching에 대한 디테일은 [479, 1450, 1908] 참고.
각각의 path 위의 샘플들의 수 n이라 했을때, O(n^2)의 복잡도를 가지기 때문에 비용이 비싸진다. 퀄리티와 퍼포먼스 사이의 타협을 위해, 광원에서 바깥방향에 대한 transmittance를 저장하기 위한 volumetric shadow representation techniques을 사용할 수 있다.
매질에서 light scattering과 extinction에 대한 직관적 이해를 돕기 위해, σs = (0.5, 1, 2) and σa = (0, 0, 0)라 가정해 보자. 매질내의 짧은 light path에서는 in-scattering events가 extinction(이 경우 out-scattering)보다 지배적이다. 예를 들어, 깊이가 작을 때는 Tr ≈ 1 이기 때문이다. σs에서 가장 높은 채널이 파랑이기 때문에 material은 파란색으로 보일 것이다. excintion때문에 빛이 매질 깊이 침투할 수록, 더 적은 광자만 통과하게 될 것 이다. 이러한 경우는, extinction의 transmittance color 가 지배적이게 될 것이다. 이것은 σt = σs 라 하였기 때문에, σa = (0, 0, 0)으로 설명할 수 있다. 결과 적으로 Tr 은 optical depth dσs에 따라 선형적으로 증가하는 sattered light보다 빠르게 감소하게 된다.(식 14.2) 예를 들면, 매질을 통과할때 빨강색이 덜 소멸 될 것이다. 왜냐하면 σt에서 가장 작은 값이기 때문이다. 따라서 빨강색이 지배적으로 보일 것이다. 이러한 내용은Figure 14.6을 보면 알 수 있으며, 또한 이러한 현상은 대기와 하늘에서 나타난다. 만약 해가 높을때(short light path 그리고 지면에 수직) blue light가 더 산란 되고, 하늘을 파랗게 보인다. 하지만 해가 지면과 수평에 가까워 지면, long light path로 대기를 지나게 되고, 하늘은 빨갛게 투과될 것 이다. 대기에 대한 디테일한 내용은 Section 14.4.1참고. 또 다른 예제로, Figure 9.6의 오른쪽에 있는 opalescent glass를 확인.

